1Writer タスクを明日に移動
1Writer タスクを翌日に移動
カーソル行のタスクを明日に移動
code:js
var dir = 'Your Directory/'
// 1. カーソル行のテキストを取得
const cursorRange = editor.getSelectedLineRange(); // カーソル行の範囲を取得
const cursorLineText = editor.getTextInRange(cursorRange0, cursorRange1); // カーソル行のテキストを取得
let newTask = cursorLineText;
// 2. カーソル行の削除
const start, end = editor.getSelectedLineRange(); // 現在の選択行の範囲を取得
editor.replaceTextInRange(start, end + 1, ""); // 改行も含めて完全に行を削除
editor.setSelectedRange(start); // 次の行の開始位置にカーソルを移動
// 3. 現在の日付を取得し、翌日の日付を計算
let today = new Date();
today.setDate(today.getDate() + 1); // 翌日を設定
let year = today.getFullYear();
let month = ("0" + (today.getMonth() + 1)).slice(-2); // 月を2桁に
let day = ("0" + today.getDate()).slice(-2); // 日を2桁に
// 4. ノートのファイル名(YYYY-MM-DD形式)を作成
let nextDayFileName = ${dir}${year}-${month}-${day}.md;
// 5. URLスキームを使って、翌日のノートにテキストを追記
let textToAppend = encodeURIComponent(newTask); // URLエンコード
let urlScheme = onewriter://x-callback-url/append?path=${nextDayFileName}&text=${textToAppend};
// 6. URLを開く(追記処理)
app.openURL(urlScheme);
// 7. 完了ポップアップ
ui.hudSuccess(${newTask}を翌日にコピーしました。);
カーソル行をコピー
コピーではなく、移動にしたい。
code:js
var dir = 'Your Directory/'
// 1. カーソル行のテキストを取得
// カーソル行のテキストを取得
const cursorRange = editor.getSelectedLineRange(); // カーソル行の範囲を取得
const cursorLineText = editor.getTextInRange(cursorRange0, cursorRange1); // カーソル行のテキストを取得
// 行頭の特定の記号とその後の時間パターンに一致する正規表現
const timePattern = /^\d{2}:\d{2}-\d{2}:\d{2}\s*/;
const symbolAndTimePattern = /^- \.*\\s*\d{2}:\d{2}-\d{2}:\d{2}\s*/;
const symbolPattern = /^- \.*\\s*/;
let newTask;
if (symbolAndTimePattern.test(cursorLineText)) {
// 記号と時間パターンがある場合、その部分を削除し、行頭に- [ ] を追加
newTask = '' + cursorLineText.replace(symbolAndTimePattern, '- ').trim();
} else if (symbolPattern.test(cursorLineText)) {
// 記号のみの場合、その記号を- [ ] に置き換える
newTask = '' + cursorLineText.replace(symbolPattern, '- ').trim();
} else {
// パターンがない場合、行頭に- [ ] を追加
newTask = '- ' + cursorLineText.trim();
}
// 2. 現在の日付を取得し、翌日の日付を計算
let today = new Date();
today.setDate(today.getDate() + 1); // 翌日を設定
let year = today.getFullYear();
let month = ("0" + (today.getMonth() + 1)).slice(-2); // 月を2桁に
let day = ("0" + today.getDate()).slice(-2); // 日を2桁に
// 3. ノートのファイル名(YYYY-MM-DD形式)を作成
let nextDayFileName = ${dir}${year}-${month}-${day}.md;
// 4. URLスキームを使って、翌日のノートにテキストを追記
let textToAppend = encodeURIComponent(newTask); // URLエンコード
let urlScheme = onewriter://x-callback-url/append?path=${nextDayFileName}&text=${textToAppend};
// 5. URLを開く(追記処理)
app.openURL(urlScheme);
// 6. 完了ポップアップ
ui.hudSuccess(${newTask}を翌日にコピーしました。);